package com.big.codegen.service;

import com.big.codegen.domain.dto.CodeGenServiceDTO;
import com.big.codegen.domain.dto.CodegenTableConfigDTO;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.core.io.Resource;
import org.springframework.http.ResponseEntity;

/**
 * <p>
 * 代码生成服务接口
 * </p>
 *
 * @author 山归岿
 * @create 2025-06-25-21:42
 */
public interface CodegenService {


    /**
     * 下载代码
     *
     * @param dto 配置信息
     * @return 返回 zip 文件资源
     */
    ResponseEntity<Resource> downloadCodeZip(CodegenTableConfigDTO dto);

    /**
     * 下载服务代码
     *
     * @param config   配置信息
     * @param response 响应
     * @return 返回 zip
     */
    ResponseEntity<Resource> downloadService(CodeGenServiceDTO config, HttpServletResponse response);
}
